package session

import "fmt"

var (
	sessionMgr SessionMgr
)

//prodvier 模式 redis  和 memory
//memory 返回 一个session的内存
//redis 返回一个redis的内存
func Init(provider string, addr string, options ...string) (err error) {
	switch provider {
	case "memory":
		sessionMgr = NewMemorySessionMgr()
	case "redis":
		sessionMgr = NewRedisSessionMgr()
	default:
		err = fmt.Errorf("not support!")
		return
	}
	err = sessionMgr.Init(addr, options...)
	return
}

func CreateSession() (session Session, err error) {
	return sessionMgr.CreateSession()
}
func Get(sessionId string) (session Session, err error) {
	return sessionMgr.Get(sessionId)
}
